Cloud computing relates to concepts that utilize large numbers of computers connected through a computer network, such as the Internet. Cloud based computing refers to network-based services. These services appear to be provided by server hardware. However, the services are instead served by virtual hardware (virtual machines, or “VMs”), that are simulated by software running on one or more real computer systems. Because virtual servers do not physically exist, they can therefore be moved around and scaled “up” or “out” on the fly without affecting the end user. Scaling “up” (or “down”) refers to the addition (or reduction) of resources (CPU, memory, etc.) to the VM performing the work. Scaling “out” (or “in”) refers to adding, or subtracting, the number of VMs assigned to perform a particular workload.
In a traditional environment when a site fails, applications running on that site will also fail. Traditional application High Availability (HA) setups require exact replica of the primary environments. In other words, an Active cloud environment would handle the workload while an exact replica (a Passive cloud environment) stands by waiting to take over if the Active cloud environment fails. When not being used, the Passive cloud environment consumes considerable resources (the same amount of resources as the Active cloud environment), thus reducing the resources available to other applications actively running in the Passive cloud environment.